package com.tom.architect.day18.simple3.bottomtab.iterator;

import com.tom.architect.day18.simple3.bottomtab.BottomTabItem;

import java.util.ArrayList;
import java.util.List;

// list 样式的默认实现。也可以实现个Array[]的实现类。
public class ListTabIterator<T extends BottomTabItem> implements TabIterator {
    private List<T> mTabItems; // tab集合
    private int index;

    public ListTabIterator() {
        mTabItems = new ArrayList<>();
    }

    // 添加元素
    public void addItem(T item) {
        mTabItems.add(item);
    }

    @Override
    public BottomTabItem next() {
        return mTabItems.get(index++);
    }

    // 是否还有下一个元素
    @Override
    public boolean hasNext() {
        return index < mTabItems.size();
    }
}
